Method and System for Automatically Defining Organizational Data in Unified Messaging Systems

ABSTRACT

A method and system for automatically defining and provisioning organizational data in a unified messaging (UM) platform are disclosed. An adapter in a unified messaging platform connects to at least one client human resources database. Human resources information that is organized in an organizational hierarchy is retrieved from the human resources database, and hierarchical organizational data is automatically generated in the UM platform based on the organizational hierarchy of the human resources information retrieved from the human resources database. UM mailboxes are provisioned to messaging centers in the UM platform based on the hierarchical organizational data.

BACKGROUND OF THE INVENTION

The present invention relates generally to provisioning organizationaldefinitions and more particularly to provisioning organizationaldefinitions in a unified messaging platform environment.

Unified messaging is the integration of multiple (typically two or more)types of communication (e.g., email, voicemail, short message service(SMS), fax, etc.) into a single, unified message store (e.g., a unifiedmessaging platform) accessible from a variety of user devices. Unifiedmessaging is typically provided by a service provider, which may be thesame service provider that provides telephone service. In order for aservice provider to provide unified messaging service to an organizationof subscribers (also called users, which may be employees of a clientorganization), the unified messaging platform must be configured withorganizational data regarding related groups in the clientorganization's organizational structure. Each client can be assignedhis/her own unified messaging mailbox.

Conventionally, provisioning of business groups of a subscriber into theunified messaging platform is done manually using interactive software.Such software allows a client or the service provider to manually defineorganizational structures for the client organization in order to definemailboxes for individual users and to maintain group hierarchies in theclient's organizational structure. Although this approach is effective,it requires the manual definitions of a client's organizations andgroups into organizational data supported by the unified messagingplatform. This can be tedious and error-prone. Furthermore, manuallydefining such organizational data can take a long time and beoperationally expensive, particularly for larger businesses andorganizations.

Accordingly, automatic definition of organizational data in a unifiedmessaging platform is desirable.

BRIEF SUMMARY OF THE INVENTION

The present invention provides a method and system for automaticallydefining organizational data in a unified messaging platformenvironment.

In one embodiment of the present invention, an adapter in a unifiedmessaging platform connects to at least one client human resources orequivalent database. Human resources information that is organized in anorganizational hierarchy is retrieved from the human resources database,and hierarchical organizational data is automatically generated in theUM platform based on the organizational hierarchy of the human resourcesinformation retrieved from the human resources database.

These and other advantages of the invention will be apparent to those ofordinary skill in the art by reference to the following detaileddescription and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a unified messaging system according to an embodimentof the present invention;

FIG. 2 illustrates a method for defining organizational data in a UMplatform according to an embodiment of the present invention;

FIG. 3 illustrates a method for generating and provisioning hierarchicalorganizational data in a UM platform according to an embodiment of thepresent invention; and

FIG. 4 is a high level block diagram of a computer capable ofimplementing the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention are directed to an enhanced unifiedmessaging (UM) system, in which organization data corresponding to anorganizational hierarchy of a client is automatically provisioned.

FIG. 1 illustrates a unified messaging system 100 according to anembodiment of the present invention. Unified messaging (UM) system 100includes a UM platform 104 and an adapter 102 that automatically definesorganizational data corresponding to an organizational structure of acustomer (client) 110 in the UM platform 104. The adapter 102 interfaceswith the client's 110 organizational databases, such as human resourcesdatabase 112. The human resources database 112 stores entriescorresponding to users (e.g., employees) associated with the client 110.The entries of the human resources database 112 are logically organizedhierarchically according to a hierarchical organizational structure ofthe client 110, and include human resources information associated withthe users, such as name, telephone number (TN), geographical location,group membership, device specifications, alternate devices that may beused in find me follow me (FMFM) scenarios, etc. Human resourcesdatabases are often linked with, or used as or in conjunction withtelephone databases. Accordingly, the term “human resources database” isused herein to cover all such cases.

The adapter 102 retrieves the organizational hierarchy from the humanresources database 112, and creates corresponding organizational data inthe UM platform 104. For example, the adapter 102 can createIntermediate Logic Nodes (ILNs) and Communities of Interest (COIs)corresponding to the organizational hierarchy of the human resourcesinformation stored in the human resources database 112. In the UMplatform 104, a COI is group that shares one or more common attributes.For example, a group of employees located at a particular geographicalbranch of a business, or a group of employees who report to the samesupervisor can be grouped into a COI. An ILN is an organizationaldesignation for which there are one or more COIs. For example, an ILN oflocation can have multiple COIs, each COI corresponding to a particulargeographical branch of a business. As another example, an ILN may beused to represent a branch location, and the COIs that are under thatILN may represent various departments in that location. It is to beunderstood, that the organizational structure of a particularorganization or business can be organized according to various ILNs andCOIs. An advantage of the UM system 100 of FIG. 1 is that the adapter102 automatically reflects the organizational structure of informationstored in the human resources database 122 in the ILNs and COIs createdfor the UM platform 104.

The adapter 102 can be implemented as a processor or controllerexecuting software instructions for defining the organizational data.The adapter 102 can communicate with the UM platform 104 using a UMapplication programming interface (API). According to an advantageousembodiment, the adapter 102 can communicate with the UM platform 104using a previously existing API used for defining organizational data.Accordingly, the adapter 102 can be seamlessly integrated into UMplatforms already in use. The adapter 102 can communicate with the humanresources database 112 using an API (e.g., abstracted, LDAP orSQL-based) associated with the human resources database 112. Accordingto a possible implementation, the adapter 102 can be pre-designed tointerface with the most common types of human resources databases, suchas SAP, PeopleSoft, Intuit Payroll solutions, etc. According to anotherpossible implementation, the adapter 102 may be custom-designed for anyother types of human resources database used by a particular client.

The UM platform 104 includes multiple UM mailboxes located at one ormore messaging centers (MCs). The UM interface 104 includes one or moreserver or server-like devices that can be implemented as computers, suchas the computer 200 discussed below with respect to FIG. 4. The MCs canbe provided at various geographic locations. Each user of the UMplatform 104 is assigned a mailbox. Mailboxes assigned to users groupedwithin a COI are assigned to the same MC. The UM platform 104 may becoupled to or include the adapter 102 and/or a UM database 106. The UMplatform 104 stores the organizational data, such as the ILNs and theCOIs, created by the UM adapter 102, into the UM database 106. The UMdatabase 106 and service provider database 108 may be combined and bepart of one database, and may also be integrated with the UM platform104.

When the adapter 102 derives the organizational data for the UM platform104 corresponding to the human resources information in the humanresources database 112, the UM platform 104 may automatically provisiona mailbox for each user specified in the human resources information.The UM platform 104 assigns mailboxes associated with the users to MCsbased on the COIs associated with the users, so that the UM mailboxesfor all users associated with a COI are assigned to the same MC. Inaddition to the human resources information retrieved from the humanresources database 112, the UM platform 104 can be provided withadditional data from a service provider database 108 to influence theassignment of the COIs to various MCs. The service provider database 108can be coupled to or included in the UM platform 104, or can bemaintained by a service provider separately from the UM platform 104.The service provider database 108 can include information such asgeographical locations of users, local access and transport area (LATA)definitions, call forwarding number (CFN) definitions, capacityconstraints of existing UM MCs, etc. The UM platform 104 can utilizethis information when assigning mailboxes of users associated with a COIto an MC.

Placements of logical organizational units (e.g., COIs) at MCs can beadjusted at any time. Illustratively, the following parameters can beprovided by the UM platform 104 for automatic provisioning: (1) (NPA,NNX) tuple and the target MC name for mapping COIs to specific MCs. Themapping of the target MCs may be automatically conditioned on thecapacity of available MCs, whereby a list of MCs is provided to overcomeremaining capacity limitations; (2) CFN to MC mappings; and (3) Class ofService (COS) identification. It is to be understood that theseparameters are exemplary, and other parameters may be provided as well.

The system of FIG. 1 can be implemented as a “turn key” operation withexisting UM platforms to achieve virtually instantaneous groupdefinitions and virtually no errors. Furthermore, the service providercan access the adaptor 102 and/or UM platform 104 in order to fine tunechanges or modify group definitions. Programming and/or user interfaceaccess may also be given to the customer so that the customer can alsomodify or customize the group definitions.

FIG. 2 illustrates a method 200 for defining organizational data in a UMplatform according to an embodiment of the present invention. The method200 of FIG. 2 automatically transforms human resources data representingentities (users) and an organizational structure of a business ororganization into logical organizational units associated with the UMplatform. As illustrated in FIG. 2, at step 202, a UM platforminterfaces with a client's human resource (HR) database. For example, anadaptor of the UM platform can connect to or communicate with the HRdatabase. When the adaptor is in communication with the HR database,these components can transmit signals and/or information to each otherusing any appropriate interfaces (e.g., SQL, LDAP, etc.) over anyappropriate communication protocols. At step 204, the adapter of the UMplatform retrieves HR information organized in an organizationalhierarchy from the HR database. At step 206, hierarchical organizationaldata is automatically generated in the UM platform based on theorganizational hierarchy of the human resources information, and UMmailboxes are provisioned based on the hierarchical organizational data.For example, ILNs and COIs are automatically generated based on theorganization structure of the human resources information. Mailboxes forusers grouped in COIs are created and assigned to various MCs associatedwith the COIs.

FIG. 3 illustrates a method 300 for generating and provisioninghierarchical organizational data in a UM platform according to anembodiment of the present invention. The method 300 of FIG. 3 can beused to implement steps 204 and 206 of the method of FIG. 2. The method300 of FIG. 3 processes the HR information from the HR database entry byentry to generate organizational data corresponding to each entry in theUM platform. As illustrated in FIG. 3, at step 302, an HR entry isretrieved from the HR database. At step 304, it is determined whether auser (i.e., person) is associated with the HR entry. If there is no userassociated with the HR entry, the method proceeds to step 306. If thereis a user associated with the HR entry, the method proceeds to step 308.

At step 306, if there is no user associated with the HR entry, an ILNcorresponding to the entry is generated. If there is no user associatedwith the entry, the entry represents an organizational entity, not anindividual. An ILN representing the entity is generated and the name isused as the name of the ILN in the UM platform. The ILN may be createdin all of the MCs of the UM platform without any associated mailboxes(as metadata, since mailboxes are associated with COIs). After the ILNis generated, the method proceeds to the next HR entry.

At step 308, if there is a user associated with the HR entry, the user(the HR entry) may be associated with a COI node. In particular, if aCOI node does not yet exist for this organizational level, the COI nodeis created. Other users at the same organizational level may then beassigned to this COI node. If the appropriate COI node already exists,the user may be associated with the existing COI node.

At step 310, a target MC is determined for a user mailbox. At step 312,a mailbox may be created for the user at the determined MC. A configuredUM input parameter can be used to assign the mailbox to a given MC. Forexample, the UM platform may provide the following data to adapter:(NPA, NNX)→MC name, LATA. Accordingly, based on the NPA and NNX of theTN associated with the user, the adapter assigns the user to aparticular MC and LATA. If a capacity constraint of a configured MC isabove a certain threshold, a list of other MCs in the LATA can beprovided by the UM platform, and another configured MC can be used. Thisfact and the result of the operation are communicated to the UMplatform. The MC name of the MC to which the mailbox is assigned can beused to drive the Call Forwarding Number (CFN) information for that MC.Accordingly, a CFN associated with the mailbox can be determined basedon the assigned MC. The mailbox can be created for the user with theprimary contact number of the user as the key to the mailbox creation(i.e., resulting in a Web Services API call createMailbox (TN, CFA,LATA, COS, . . . )). The user's name is mapped to the subscriber of thatmailbox. Alternate device information may be, optionally, incorporatedinto the mailbox definition (e.g., for UM FMFM service).

As described above, the method of FIG. 3 generates and provisionsorganizational data in the UM platform corresponding to an HR entry. Themethod is repeated for all HR entries in the HR database. Accordingly,the graph (e.g., tree) of HR entries are automatically mapped into ILNand COI nodes in the UM platform by the adapter using predefinedmappings provided by the UM platform. These template production rulescan be customized for each organization. Schemas of HR databases aregenerally unique to each vendor, and maybe different for each business.Hence, column names, for example, may be unique for each businesscustomer, while particular column names may or may not be the same asother customers of the same database vendor.

The above described methods for defining and provisioning organizationaldata in a UM platform can be implemented on a computer using well-knowncomputer processors, memory units, storage devices, computer software,and other components. A high-level block diagram of such a computer isillustrated in FIG. 4. Computer 402 contains a processor 404 whichcontrols the overall operation of the computer 402 by executing computerprogram instructions which define such operation. The computer programinstructions may be stored in a storage device 412, or other computerreadable medium (e.g., magnetic disk, CD ROM, etc.), and loaded intomemory 410 when execution of the computer program instructions isdesired. Thus, the method steps of FIGS. 2 and 3 can be defined by thecomputer program instructions stored in the memory 410 and/or storage412 and controlled by the processor 404 executing the computer programinstructions. For example, the computer program instructions can beimplemented as computer executable code programmed by one skilled in theart to perform an algorithm defined by the method steps of FIGS. 2 and3. Accordingly, by executing the computer program instructions, theprocessor 404 executes an algorithm defined by the method steps of FIGS.2 and 3. The computer 402 also includes one or more network interfaces406 for communicating with other devices via a network. The computer 402also includes input/output devices 408 that enable user interaction withthe computer 402 (e.g., display, keyboard, mouse, speakers, buttons,etc.) One skilled in the art will recognize that an implementation of anactual computer could contain other components as well, and that FIG. 4is a high level representation of some of the components of such acomputer for illustrative purposes.

The foregoing Detailed Description is to be understood as being in everyrespect illustrative and exemplary, but not restrictive, and the scopeof the invention disclosed herein is not to be determined from theDetailed Description, but rather from the claims as interpretedaccording to the full breadth permitted by the patent laws. It is to beunderstood that the embodiments shown and described herein are onlyillustrative of the principles of the present invention and that variousmodifications may be implemented by those skilled in the art withoutdeparting from the scope and spirit of the invention. Those skilled inthe art could implement various other feature combinations withoutdeparting from the scope and spirit of the invention. The variousfunctional modules that are shown are for illustrative purposes only,and may be combined, rearranged and/or otherwise modified.

1. A method for automatically defining organizational data in a UnifiedMessaging (UM) platform, comprising: retrieving human resourcesinformation organized in an organizational hierarchy from the at leastone client human resources database; and automatically generatinghierarchical organizational data in the UM platform based on theorganizational hierarchy of the human resources information.
 2. Themethod of claim 1, wherein the step of automatically generatinghierarchical organizational data in the UM platform comprises:generating intermediate logic nodes corresponding to organizationsspecified in the human resources information; and generating communitiesof interest (COI) nodes corresponding to groups of users specified inthe human resources data.
 3. The method of claim 2, further comprising:provisioning UM mailboxes for all users grouped in a COI to a commonmessaging center.
 4. The method of claim 1, wherein the human resourcesinformation comprises a plurality of human resources entries, and thestep of automatically generating hierarchical organizational data in theUM platform comprises, for each human resources entry: determiningwhether a user is associated with the human resources entry; if no useris associated with the human resources entry, generating an intermediatelogic node (ILN) corresponding to the human resources entry; and if auser is associated with the human resources entry: associating the userwith a community of interest (COI); determining a messaging center for aUM mailbox for the user; and creating the UM mailbox for the user at thedetermined messaging center.
 5. The method of claim 4, wherein the stepof associating the user with a COI comprises one of: generating a newCOI node corresponding to an organizational level of the user; andassociating the user with a previously generated COI node correspondingto the organizational level of the user.
 6. The method of claim 4,wherein the step of determining a messaging center for a UM mailbox forthe user comprises: determining a local area telephone access (LATA)based on information associated with the user in the human resourcesentry; retrieving a list of messaging centers based on the LATA; andselecting a messaging center to be associated with the COI of the user.7. The method of claim 6, wherein the step of selecting a messagingcenter to be associated with the COI of the user comprises at least ofone: selecting the messaging center to be associated with the COI basedon capacity constraints of the messaging centers retrieved based on theLATA; and selecting the messaging center to be associated with the COIbased on capacity constraints of the messaging centers retrieved basedon configured mapping preferences.
 8. The method of claim 4, wherein thestep of generating an ILN corresponding to the human resources entrycomprises: storing a name of the human resources entry as a name of theILN in the UM platform.
 9. The method of claim 4, the step of generatingan ILN corresponding to the human resources entry comprises: creatingthe ILN in all messaging centers of the UM platform as meta data. 10.The method of claim 4, further comprising: determining a call forwardingnumber for the UM mailbox based on the messaging center.
 11. A systemfor automatically defining organizational data in a Unified Messaging(UM) platform, comprising: means for retrieving human resourcesinformation organized in an organizational hierarchy from at least oneclient human resources database; and means for automatically generatinghierarchical organizational data in the UM platform based on theorganizational hierarchy of the human resources information.
 12. Thesystem of claim 11, wherein the means for automatically generatinghierarchical organizational data in the UM platform comprises:generating intermediate logic nodes corresponding to organizationsspecified in the human resources information; and generating communitiesof interest (COI) nodes corresponding to groups of users specified inthe human resources data.
 13. The system of claim 12, furthercomprising: provisioning UM mailboxes for all users grouped in a COI toa common messaging center.
 14. The system of claim 11, wherein the humanresources information comprises a plurality of human resources entries,and the means for automatically generating hierarchical organizationaldata in the UM platform comprises: means determining whether a user isassociated with a human resources entry; means for generating anintermediate logic node (ILN) corresponding to the human resources entrythat has no user associated therewith; means associating a userassociated with a human resources entry with a community of interest(COI); means for determining a messaging center for a UM mailbox for theuser; and means for creating the UM mailbox for the user at thedetermined messaging center.
 15. The system of claim 14, wherein themeans for associating a user associated with a human resources entrywith a community of interest (COI) comprises: means for generating a newCOI node corresponding to an organizational level of the user; and meansfor associating the user with a previously generated COI nodecorresponding to the organizational level of the user.
 16. The system ofclaim 14, wherein the means for determining a messaging center for a UMmailbox for the user comprises: means for determining a local areatelephone access (LATA) based on information associated with the user inthe human resources entry; means for retrieving a list of messagingcenters based on the LATA; and means for selecting a messaging center tobe associated with the COI of the user.
 17. A computer readable mediumencoded with computer executable instructions for automatically definingorganizational data in a Unified Messaging (UM) platform, the computerexecutable instructions defining steps comprising: retrieving humanresources information organized in an organizational hierarchy from atleast one client human resources database; and automatically generatinghierarchical organizational data in the UM platform based on theorganizational hierarchy of the human resources information.
 18. Thecomputer readable medium of claim 17, wherein the computer executableinstructions defining the step of automatically generating hierarchicalorganizational data in the UM platform comprise computer executableinstructions defining the steps of: generating intermediate logic nodescorresponding to organizations specified in the human resourcesinformation; and generating communities of interest (COI) nodescorresponding to groups of users specified in the human resources data.19. The computer readable medium of claim 18, further comprisingcomputer executable instructions defining the step of: provisioning UMmailboxes for all users grouped in a COI to a common messaging center.20. The computer readable medium of claim 17, wherein the humanresources information comprises a plurality of human resources entries,and the computer executable instructions defining the step ofautomatically generating hierarchical organizational data in the UMplatform comprise computer executable instructions defining thefollowing steps for each human resources entry: determining whether auser is associated with the human resources entry; if no user isassociated with the human resources entry, generating an intermediatelogic node (ILN) corresponding to the human resources entry; and if auser is associated with the human resources entry: associating the userwith a community of interest (COI); determining a messaging center for aUM mailbox for the user; and creating the UM mailbox for the user at thedetermined messaging center.
 21. The computer readable medium of claim20, wherein the computer executable instructions defining the step ofassociating the user with a COI comprise computer executableinstructions defining the steps of: generating a new COI nodecorresponding to an organizational level of the user if the COI nodecorresponding to the organizational level of the user does not exist;and associating the user with a previously generated COI nodecorresponding to the organizational level of the user if a previouslygenerated COI node corresponding to the organization level of the userdoes exist.
 22. The computer readable medium of claim 20, wherein thecomputer executable instructions defining the step of determining amessaging center for a UM mailbox for the user comprise computerexecutable instructions defining the steps of: determining a local areatelephone access (LATA) based on information associated with the user inthe human resources entry; retrieving a list of messaging centers basedon the LATA; and selecting a messaging center to be associated with theCOI of the user.